﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComunesMGI.DataTypes;
using ComunesMGI.Enum;
using System.IO;

namespace MGI.AccesoDatos
{
    interface ISharepoint
    {
        DataAltaIncidente AddIncidente(DataSistema sistema);

        List<DataCampo> GetCampos(string sitioSistema, Lista lista, List<DataCampo> nomCampos);
        
        List<DataIncidente> GetIncidentes(string sitio);

        List<DataIncidente> GetIncidentesAsignablesWP(string sitioSistema, int wkpCod);

        List<DataIncidenteReporte> GetIncidentesReporte(DataSistema sistema);
        
        List<DataTarea> GetTareas(string sitio, int idIncidente);
        
        string AsignarResponsable(string sitio, int idIncidente, int idTarea, DataUsuario usuario);

        void SetIncidenteWP(string sitio, int idWorkPackage, int idIncidente);

        List<DataIncidente> GetIncidentesWP(string sitio, int idWorkPackage);

        string UploadFile(Stream sourceStream);

        bool AdjuntarArchivoIncidente(string nombreArchivo, string urlSistema, int idIncidente, string nroTemp);

        DataAltaTarea AddTarea(string urlSistema, int idIncidente, List<DataCampo> campos);

        int GetEsfuerzoTotalWP(string sitio, int idWP);

        int GetEsfuerzoRestanteWP(string sitio, int idWP);

        void CerrarAsociadosWP(string sitio, int wpId);

        bool ChkWpIncidentesOTareasSinCerrar(string sitio, int wkpCod);

        
    }
}
